package medicos;

import util.IllegalArgumentException;
import util.RepositorioException;

public class CadastroMedicos {
		private RepositorioMedicos medicos;

		
		public CadastroMedicos (RepositorioMedicos repositorio){
			this.medicos = repositorio;
			}
		
		public void cadastrar (Medico medico) throws MedicoJaCadastradoException, RepositorioException{
			
			if (!medicos.existe(medico.getCodigo())){
				medicos.inserir(medico);
			}
			else{
				throw new MedicoJaCadastradoException (medico.getCodigo());
			}
		}
		
		public void atualizar (Medico medico) throws MedicoNaoEncontradoException, RepositorioException, IllegalArgumentException{
			medicos.atualizar(medico);
			}
		
		public Medico procurar (long codigo) throws MedicoNaoEncontradoException, RepositorioException{
			return medicos.procurar(codigo);
		}
		
		public void remover (long codigo) throws MedicoNaoEncontradoException, RepositorioException{
			medicos.remover(codigo);
		}
		public boolean existe(long codigo) throws RepositorioException {
			return this.medicos.existe(codigo);
		}
		
		public IteratorMedicos getMedicos() throws RepositorioException {
			return this.medicos.getIterator();
		}
}


